package com.hifar.test.dailydisplacement.pojo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hifar.model.BaseModel;
import com.hifar.plat.AopOption.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 日常位移记录
 * </p>
 *
 * @author system
 * @since 2025-10-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("hf_env_daily_displacement")
@ApiModel(value = "HfDailyDisplacement对象", description = "日常位移记录")
public class HfDailyDisplacement extends BaseModel implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID（重写父类，指定小写列名）
     */
    @TableId("id")
    private String id;

    /**
     * 委托日期
     */
    @ApiModelProperty(value = "委托日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @NotNull(message = "委托日期不能为空!")
    private Date entrustTime;

    /**
     * 类型编码：1-气候 2-力学
     */
    @ApiModelProperty(value = "类型编码")
    @NotEmpty(message = "类型编码不能为空!")
    private String unitTypeCode;

    /**
     * 数量
     */
    @ApiModelProperty(value = "数量")
    @NotNull(message = "数量不能为空!")
    private Integer quantity;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remarks;

}

